package com.zyh.method;

public class MethodDemo2 {
    public static void main(String[] args) {
        /*
        删除数组最大值的元素
         */
        int[] arr = {5555, 12, 90, 18, 77, 76, 45, 28, 59, 72};
//        调用方法
        int[] delete = deleteArrayMaxValue(arr);
        for (int i : delete) {
            System.out.print(i + "\t");
        }
    }

    public static int[] deleteArrayMaxValue(int[] arr) {
//        判断数组合法性
        if (arr == null || arr.length == 0) {
            return null;
        }
//        假设最大值和最大值索引为arr[0]
        int max = arr[0];
        int maxIndex = 0;
//        打擂台
        for (int i = 1; i < arr.length; i++) {
            if (arr[i] > max) {
                max = arr[i];
                maxIndex = i;
            }
        }
//        新建一个长度为arr.length-1的数组
        int[] newArr = new int[arr.length - 1];
//        将老数组的[0,maxIndex-1] 的位置平移到新数组的[0,maxIndex-1]的位置
        for (int i = 0; i < newArr.length; i++) {
            newArr[i] = arr[i];
        }
//        将老数组的[maxIndex+1,arr.length-1] 的位置平移到新数组的[maxIndex,newArr.length-1]的位置
        for (int i = maxIndex; i < newArr.length; i++) {
            newArr[i] = arr[i + 1];
        }
        return newArr;
    }
}
